152
M. Bakro et al.
Fig. 6 Hash algorithm
diagram
2.9
Hashing
Hashing is one of the concepts of unidirectional encryption since the plain text cannot
be retrieved from the ciphertext as shown in Fig. 6, as the data are compressed to a
standard fixed size regardless of its original length, and no keys in hashing are used
for encryption or decryption. The ciphertext is generated from the plain text [32].
The hash algorithms are used to maintain the integrity of the data, as the digital
signature algorithm DSA uses a secure hash algorithm (SHA) to create signatures
and verify them. DSA is one of the asymmetric algorithms, where the sender uses
the private key to create the digital signature, while the receiver uses the public key
for signature verification, DSA has been developed by NIST, and its functions are
summarized in signature and verification [33]. Hash keys are also generated by the
SHA algorithm, and this hash is required to retrieve files. The Hash algorithms have
several types, the most famous of which are: MD5, SHA, but the SHA family remains
the most famous as we note through its applications and because of its security, as
SHA’s algorithm is an encryption hashing algorithm designed by the national security
agency (NSA) and announced by the National Institute of Standards and Technology
(NIST). This algorithm can compress the given information and give a hash key
160-bit (20-byte). Of course, to choose one of the hash algorithms (MD5, SHA-1,
SHA-256, and SHA-512), several factors the most important of which are safety,
speed, and nature of use, must be taken into account. From the security aspect, MD5
and SHA-1 were excluded as a result of their penetration. SHA-256 and SHA-512
belong to the most secure SHA-2 family [36], where SHA-256 is calculated in word
32-bit, and SHA-512 with word 64-bit, it should be noted that SHA-256 is much
faster than SHA-512. So, I chose to rely on SHA-256 because it is the fastest and
because the nature of use within the blockchain technique requires that [37] as all
research papers use SHA-256 with blockchain technology.
2.9.1
Blockchain Technology
Maintaining data integrity and availability is done through blockchain technology,
which appeared for the first time in the form of digital currency (Bitcoin) for digital
games and was designed by Nakamoto in 2008, then began to increase in popularity.
Blockchain is a decentralized P2P network so that the user and his counterpart are
able to manage it without a central authority away from the fees imposed by the third
party [38], as shown in Fig. 7.
Blockchain is a decentralized distributed technology that employs a variety of
encryption patterns, it represents a database of all digital transactions and events that
take place between participants. Blockchain technology consists of an organized
series of blocks containing information records, each block representing a structure